﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ServiceModel;
using System.ServiceModel.Syndication;
using System.ServiceModel.Web;


namespace PBDesk.FeedService
{
    [ServiceContract]
    [ServiceKnownType(typeof(Atom10FeedFormatter))]
    [ServiceKnownType(typeof(Rss20FeedFormatter))]
    public interface IPBDeskFeed
    {
        [OperationContract]
        [WebGet(UriTemplate = "/", BodyStyle = WebMessageBodyStyle.Bare)]
        SyndicationFeedFormatter GetFeeds();

        [OperationContract]
        [WebGet(UriTemplate = "{categoryName}/", BodyStyle = WebMessageBodyStyle.Bare)]
        SyndicationFeedFormatter GetFeeds1(string categoryName);

        [OperationContract]
        [WebGet(UriTemplate = "{categoryName}/{subCategoryName}/", BodyStyle = WebMessageBodyStyle.Bare)]
        SyndicationFeedFormatter GetFeeds2(string categoryName, string subCategoryName);

        [OperationContract]
        [WebGet(UriTemplate = "{categoryName}/{subCategoryName}/{z}/", BodyStyle = WebMessageBodyStyle.Bare)]
        SyndicationFeedFormatter GetFeeds3(string categoryName, string subCategoryName, string z);

        [OperationContract]
        [WebGet(UriTemplate = "{categoryName}/{subCategoryName}/{z}/{w}/", BodyStyle = WebMessageBodyStyle.Bare)]
        SyndicationFeedFormatter GetFeeds4(string categoryName, string subCategoryName, string z, string w);
    }
}